using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("CheckBox")]
	public class CheckBox : PegUIElement
	{
		public GameObject m_check => method_3<GameObject>("m_check");

		public TextMesh m_text => method_3<TextMesh>("m_text");

		public UberText m_uberText => method_3<UberText>("m_uberText");

		public string m_checkOnSound => method_4("m_checkOnSound");

		public string m_checkOffSound => method_4("m_checkOffSound");

		public bool m_checked => method_2<bool>("m_checked");

		public int m_buttonID => method_2<int>("m_buttonID");

		public CheckBox(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CheckBox(IntPtr address)
			: this(address, "CheckBox")
		{
		}

		public new void OnOver(InteractionState oldState)
		{
			method_8("OnOver", oldState);
		}

		public new void OnOut(InteractionState oldState)
		{
			method_8("OnOut", oldState);
		}

		public new void OnPress()
		{
			method_8("OnPress");
		}

		public new void OnRelease()
		{
			method_8("OnRelease");
		}

		public void SetButtonText(string s)
		{
			method_8("SetButtonText", s);
		}

		public void SetButtonID(int id)
		{
			method_8("SetButtonID", id);
		}

		public int GetButtonID()
		{
			return method_11<int>("GetButtonID", Array.Empty<object>());
		}

		public void SetState(InteractionState state)
		{
			method_8("SetState", state);
		}

		public void SetChecked(bool isChecked)
		{
			method_8("SetChecked", isChecked);
		}

		public bool IsChecked()
		{
			return method_11<bool>("IsChecked", Array.Empty<object>());
		}

		public bool ToggleChecked()
		{
			return method_11<bool>("ToggleChecked", Array.Empty<object>());
		}
	}
}
